Patrons de conception à Base d'aspects pour L'ingéNierie des SystèMES d'information par Réutilisation. (Aspect-Oriented Design Patterns for Information Systems Engineering by Reuse)
نویسنده
چکیده
pointcut performConstructor(Singleton s); Singleton around(Singleton s): performConstructor(s) { if (s.instance == null) Singleton instance = (Singleton) proceed(); return instance; } } AbstractSingleton static Singleton Singleton.instance = null <> performConstructor(Singleton s) <> Singleton around(Singleton s) : performConstructor (s) <> public aspect SingletonContext extends AbstractSingleton { declare parents Context implements Singleton; pointcut performConstructor(Singleton s): target(s) && call (Context.new()) && !this(AbstractSingleton); } # Singleton (from AbstractSing le ton) RÉALISATION DE PATRONS DE CONCEPTION PAR OBJETS À L’AIDE D’ASPECTS 86 base et de celui qui le remplace. Nous n’avons pas toutefois pu mettre en œuvre cette solution, car à ce jour la fonctionnalité summary functions n’est pas complètement implémentée dans la dernière version disponible du langage Hyper/J [Tarr et al., 00] que nous utilisons. 2.1.4 Exemple d’application et évaluation Afin de montrer et expliquer les apports des nouvelles solutions proposées, nous reprenons ici la solution initiale du système SEE (cf. § 3.2.2 du chapitre 1) sur laquelle nous proposons d’appliquer les solutions en AspectJ6 des trois patrons détaillés précédemment. La figure 3.9 rappelle le diagramme de classes de cette solution initiale. Nous rappelons aussi, succinctement, l’ensemble des besoins pour appliquer les trois patrons considérés : séparation et encapsulation de chacune des fonctionnalités d’évaluation, d’affichage et de vérification par application du patron Visiteur ; modularisation de la fonction de « logging » par l’utilisation du patron Observateur ; utilisation du patron Singleton pour garantir des instances uniques pour Logger et LogFile. Literal # value : Number + getValue() + setValue() + check() VariableExpression name : String + getName() + setName() + asString() + display() + evaluate() NumberExpression + asString() + display() + evaluate() UnaryPlusOp + asString() + display() + evaluate() UnaryMinusOp + asString() + display() + evaluate() PlusOperator + asString() + display() + evaluate() MinusOperator + asString() + display() + evaluate() LogFile file : File
منابع مشابه
Un système de patterns dédié à l'analyse, à la conception et à l'implémentation des Systèmes d'Information Coopératifs
This paper deals with Cooperative Information Systems (CIS) which are complex systems allowing the use of heterogeneous information systems and conflict resolution. It describes a new approach based on pattern reuse that facilitates the engineering of these systems. Patterns are generic solutions to problems frequently occurring. Our patterns cover all the development stages (analysis, design a...
متن کاملConception fonctionnelle de services d'entreprise fondée sur l'alignement entre coeur de métier et système d'information
RÉSUMÉ. La connaissance des processus constituant le cœur de métier de l'entreprise et sa structure organisationnelle permet d’aligner l’organisation de cette entreprise sur sa stratégie. Or pour concevoir un ensemble de services fournis par l'entreprise à un client particulier, il faut être capable de décrire les processus métier du point de vue client, et non de la production. Afin de respect...
متن کاملUn Modèle de Transformation des Patrons de Conception de l'Orienté Objet vers l'Orienté Aspect
Résumé. Depuis l’émergence du concept des patrons de conception, plusieurs chercheurs se sont intéressés à offrir de l’aide aux concepteurs pour faciliter la mise en œuvre des patrons de conception. Cette dernière est très utilisée dans l’approche par Objets. Cependant l’approche par Objets pose plusieurs problèmes et limites, principalement liés à la dispersion et à l’enchevêtrement du code de...
متن کاملAméliorer les performances de l'industrie logicielle par une meilleure compréhension des besoins
progrès considérables réalisés par la technologie informatique, on constate que les acteurs restent très souvent critiques par rapport à leur systèmes d'information. Une des causes de cet écart entre les espoirs et la réalité trouve sa source dans la difficulté à produire un cahier des charges suffisamment détaillé pour les opérationnels et interprétable par les spécialistes des systèmes d'info...
متن کاملPatterns d'Analyse pour l'Ingénierie de Systèmes d'Information ? base d'Agents : Une Application au Domaine du Transport
Intelligent Transport Information Systems may find benefit of using agent-based solutions. Actually, transport information systems require adaptability to varying changes in offers, and unexpected occurring events. Agents and multiagent systems provide such requirements. Unfortunately, agent-based information systems such as other distributed, asynchronous, loose-coupling applications are diffi...
متن کامل